package com.joysuch.wwyt.patrol.entity.bean;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zero
 * @since 2022/2/28 19:17
 */
@Data
public class PatrolCheckPlanBean {

    private Long id;
    //检查计划名称
    private String checkPlanName;
    //检查类型id
    private Long checkTypeId;
    //责任部门
    private Long responsibleDept;
    //周期类型   (固定周期: "cycle" 单次临时: "single" 指定次数: "specify")
    private String cycleType;
    //周期单位    (月:M 周:W 天:D 时:H)
    private String cycleUnit;
    //次数或者间隔     固定周期  frequencyInterval + cycleType(多长时间一次)
    //                指定次数  cycleType + frequencyInterval(一定时间几次)
    private Integer frequencyInterval;
    //计划开始时间
    private Date planStartTime;
    //计划结束时间  单次临时使用
    private Date planEndTime;
    //指定次数  巡检时间段
    // 天：小时到小时用 - 分割,多个时间段用 , 分割  例："8-9","10-11","13-15"
    // 周：周一，二，三 。。。 多个用 , 分割        例：1,2,3
    // 月：1日 2日 3日  。。。 多个用 , 分割        例：1,2,3
    private List<String> period;
    //异常通知类型   (1: 普通报警 2：分级报警)
    private Integer exceptionNotify;

    //异常报警
    private List<PatrolPlanExceptionNotifyBean> exceptionNotifyBeanList;

    //检查人员ids多个用 , 分割
    private List<Long> checkUserIds;
    //允许补检
    private String allowRepair;
    //允许补检时长(以分钟为单位,自定义为-1)"
    private Integer supplementaryInspectionTime;
    //自定义允许补检时长,以时为单位
    private Integer customizeSupplementaryInspection;
    //按顺序检查
    private String orderCheck;
    //签到提前时间
    private String signAdvance;
    //允许提前时间
    private Integer advanceTime;
    //巡更模式
    private String patrolMode;
    //立即推送任务
    private String pushTaskNow;

    //检查点
    private List<PatrolCheckPlanPointBean> patrolCheckPlanPointBeanList;

    //额外字段(周期类型为固定日期,且是以时或者周为单位时,使用该字段,由后端转为准确日期)
    private String weekOrHourStartTime;

    // 设备停用自动处理(1-自动处理 0-不自动处理)
    private String deviceStopAutoProcess;

}
